#include <iostream>
using namespace std;
int& test01()
{
	static int a = 10;
	return a;
}
int main(int argc, char const *argv[])
{
	// & transition as left value
	test01();
	cout<<test01()<<endl;
	cout<<test01()<<endl;
	test01() = 1000;
	cout<<test01()<<endl;
	cout<<test01()<<endl;

	int b = 10;
	int &c = b;
	cout<<b<<endl;
	cout<<c<<endl;
	// point const
	const int & d = 20; // int temp = 10; const int & d = temp;
	
	return 0;
}